Computing devices commonly render documents using spooling techniques (where “spool” is an acronym for Simultaneous Peripheral Operations On-Line). In a typical spooling technique, a device generates a document and stores it in a spool storage. The spool storage can be implemented using memory (such as RAM memory), or, more commonly, using disk storage. When the device is ready to process the document, the device can then access the document from the spool storage and convert it to a format that is compatible with the format expectations of an output device (such as a format defined by the Page Description Language). The device can then forward the converted document to the output device, whereupon the output device prints the document, or performs some other processing with respect to the document. Storing a document in a spool storage (rather than directly outputting the document to the printer) is generally advantageous because it allows the device to perform other tasks while the document is being processed for printing. Generally, a print job refers to the task of processing an identified document using a spooling strategy. The print job specifies job information to be processed by the spooling strategy.
Conventional strategies commonly generate and consume job information in a variety of proprietary and narrowly tailored formats. The lack of versatility, sophistication and uniformity in these formats can prevent the device from rendering job information in an efficient manner, especially for certain print scenarios to be described below. Known conventional strategies also do not provide techniques for processing job information in an asynchronous manner. Further, known conventional strategies do not provide versatile techniques for associating metadata with the job information. Known conventional strategies may suffer from yet additional unspecified deficiencies.
There is accordingly an exemplary need for more efficient strategies for producing and consuming documents using a spool storage.